Loading TOC...

POST /manage/v2/databases/{id|name}/flexrep/configs/{id|name}/targets

Summary

This resource address creates a target for use by the flexible replication configuration for the named database. For an example, see Creating a Replication Target in the Scripting Administrative Tasks Guide.

URL Parameters
format The format of the returned data. Can be either html, json, or xml (default). This value overrides the Accept header if both are present.
Request Headers
Accept The expected MIME type of the response. If the format parameter is present, it takes precedence over the Accept header.
Content-type The MIME type of the data in the response body. Depending upon the value of the format parameter or Accept header, one of application/xml, application/json, or text/html.
Response Headers
Content-type The MIME type of the data in the response body. Depending upon the value of the format parameter or Accept header, one of application/xml, application/json, or text/html.

Response

Upon success, MarkLogic Server returns status code 201 (Created), and the response body contains the requested data. If the payload is malformed or the database does not exist, a status code of 400 (Bad Request) is returned. A status code of 401 (Unauthorized) is returned if the user does not have the necessary privileges.

Required Privileges

This operation requires the manage-admin role, or the following privilege:

http://marklogic.com/xdmp/privileges/manage-admin

Usage Notes

The request body should be in the following format. The user property is optional and defined only if the parent flexrep-config has defined an alerting-uri.

Note: The properties described here are for XML payloads. In general they are the same for JSON, with the exception that, in JSON, urls is expressed in singular form. For example, in JSON, urls is instead url and the format is as shown in the example below.

target-name

A name for replication target.

retry-seconds-min

The minimum number of seconds to wait before retrying a failed replication attempt for a document.

retry-seconds-max

The maximum number of seconds to wait before retrying a failed replication attempt for a document.

documents-per-batch

The number of documents to attempt to transfer in each batch.

enabled

Whether or not this target is enabled. If the target is disabled, no attempt will be made to push replications.

replicate-cpf

Whether or not CPF properties and derived documents should be replicated. This should be set to false unless you know what you are doing.

http-options

The HTTP options to use when connecting to the replication application server.

This is a complex structure with the following children:

method

The method to use.

username

password

client-cert

client-key

client-pass-phrase

credential-id

The credential id.

verify-cert

Whether the server's certificate should be verified.

proxy

The network location of the proxy server.

kerberos-ticket-forwarding

The option for kerberos ticket forwarding. If it is "disabled", the user ticket is not used. This is the default. If it is "required", the user ticket is forwarded. If the user ticket is not forwardable, XDMP-NOFORWARDTICKET is thrown. If it is "optional", the user ticket is forwarded if it is forwardable. But no error if it is not forwardable.

filter-module

The name of a module to invoke as a filter.

filter-options

The options to use when invoking the filter module.

user

The user that this target is associated with. If a username is specified, the target is query based.

immediate-push

Whether an immediate push should be performed when a document is inserted or updated. If false, replication will be handled entirely by the retry task. This is only relevant for push targets that are not query-based.

urls

URLs for the replication application server on the target system.

This is a complex structure with the following children:

url

A target URL for the replication application server on the target system.

Example


cat flexrep-target.json
==> 

   {
     "target-name": "replica",
     "url": [
       "http://127.0.0.2:8090/"
     ],
     "retry-seconds-min": 60,
     "immediate-push": true,
     "retry-seconds-max": 300,
     "documents-per-batch": 10,
     "enabled": true,
     "replicate-cpf": false,
     "http-options": {
       "username": "admin",
       "password": "admin",
       "client-cert": "",
       "client-key": "",
       "client-pass-phrase": "",
       "credential-id":"1234567890"
     },
     "filter-module": "myfilter.xqy",
     "filter-option": [{"default-xquery-version":"1.0-ml"}],
     "user": ["Joe"]
   }

curl -X POST --anyauth --user admin:admin --header "Content-Type:application/json" \
-d@flexrep-target.json \
http://localhost:8002/manage/v2/databases/Documents/flexrep/configs/myDomain/targets?format=json

==> Creates a flexible replication target, named "replica," for use by the 
    "myDomain" replication domain in the "Documents" database.
 
    

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.